<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        function Person(name){
            this.name = name;
        }

        Person.prototype = { // 覆盖系统自带的constructor属性 
            fn:function(){
                console.log("fn")
            },
            fn2:function(){
                console.log("fn2");
            }
        }
        Person.prototype.constructor = Person;  // 人为修改 constructor指回Person构造函数
        // Person.prototype.fn = function(){
        //     console.log("fn")
        // }

        // Person.prototype.fn2 = function(){
        //     console.log("fn2")
        // }

        // console.log(Person.prototype.constructor===Person);

        // var zhangsan = new Person("张三");
        // zhangsan.fn();
        // zhangsan.fn2();


        


        // var prototype = {
        //     constructor:"系统已经定义好的一个属性，会指向构造函数"
        // }

        // 在原型上写方法 方式一：
        // 覆盖对象
        // prototype = {
        //     fn:function(){
        //         console.log("fn")
        //     },
        //     fn2:function(){
        //         console.log("fn2")
        //     }
        // }
        // 方式二：追加对象属性 不会覆盖对象
            // prototype.fn = function(){
            //     console.log("fn")
            // }
            // prototype.fn2 =  function(){
            //     console.log("fn2")
            // }


        // console.log(prototype);





    </script>
</body>
</html>